1. Technical Field
Embodiments of the disclosure relate to data bus protocols, and more particularly to implementations of a deterministic protocol on a shared data bus where nodes on the data bus have a pre-negotiated protocol for message scheduling.
2. Description of the Related Art
Avionics Full-Duplex Switched Ethernet (AFDX) is defined in the Aeronautical Radio, Incorporated (ARINC) standard ARINC 664—Part 7. This standard defines how Commercial Off-the-Shelf (COTS) networking technology will be used for future generation Aircraft Data Networks (ADN). AFDX defines a low-level network and protocol to communicate between end systems in aircraft. AFDX is based on Ethernet, however, AFDX also extends standard Ethernet to provide high data integrity and deterministic timing. Determinism is defined as controlling the maximum transmission delay through the network. One enabler of such control is precisely controlling the bandwidth allocation. Thus a deterministic network or a network operating with deterministic timing, controls the bandwidth allocation so that each node in the network can transmit a predetermined amount of data within a predetermined maximum time period. The ARINC 664 specification is herein incorporated by reference.
AFDX (also known as ARINC 664) is essentially a switch-based network solution to the point-to-point wiring of the Aeronautical Radio, Incorporated (ARINC) standard ARINC 429. Implementing the older ARINC 429 standard, dedicated wires directly connect individual end systems (source or destination nodes) to one another, with a separate wire pair required for each direction, and with both directions operating at a relatively slow maximum data rate. In contrast to ARINC 429, AFDX utilizes a single high data rate bidirectional connection to a centrally located switch to/from each source and destination node comprising the system network. In addition data to/from each end system is time division multiplexed over one physical path (wire pair or photonic connection) in each direction to/from the switch. These differences for ARINC 664 dramatically reduce the wiring required compared to ARINC 429 and offer faster speed. The ARINC 429 specification is herein incorporated by reference.
Thus, ARINC 664 requires switches to interconnect end systems. These switches take up space, require electrical power and add weight. Additional weight may be added by sizing the electrical power generation & distribution system (EPGDS) to support the additional power required by the switches.
Space-based vehicles are especially sensitive to weight and power requirements for network buses. Weight impacts for systems used in space applications arise from three sources:                1) the physical weight of the components (i.e., the switch weight);        2) the network interconnect topology affects wire weight; and        3) the power required to run the network infrastructure (i.e., switches) affects the size/weight of the electrical power generation & distribution system (EPGDS) at ˜0.8 lbs/watt of power consumed.        
The Institute of Electrical and Electronics Engineers, Inc. (IEEE) standard IEEE 802.3 defines wired Ethernet. 100Base-T Ethernet (100 Mbps) or Gb Ethernet (1 Gbps) can be configured as a switch-less shared bus network using carrier sense multiple access with collision detection (CSMA/CD) similar to the original coaxial cable Ethernet networks. Unlike switched Ethernet or AFDX networks, CSMA/CD networks cannot guarantee that a message would be transmitted within a predetermined time. The IEEE 802.3 specification is herein incorporated by reference.
The Institute of Electrical and Electronics Engineers, Inc. (IEEE) standard IEEE 1394 defines a serial bus interface that offers high-speed communications and time dependent, guaranteed throughput (isochronous) real-time data services. IEEE 1394, with the help of software can be used to create a shared bus network (i.e., a network without switches or routers). Request For Comments (RFC) Internet standards memoranda document RFC 2734 specifies how to run Internet Protocol, Version 4 (IPv4) over IEEE 1394 and RFC 3146 specifies how to run Internet Protocol, Version 6 (IPv6) over IEEE 1394. Both RFC 2734 and 3146 require using the asynchronous stream mode of data transfer. However, IPv4 and IPv6 do not provide any measure of latency control. Rather, they provide a guaranteed delivery class of service, with handshakes and acknowledgments for each complete transaction. Thus, neither RFC 2734 nor 3146 provide for a deterministic (time dependent with guaranteed throughput) network or data bus. The IEEE 1394, RFC 2734, and RFC 3146 specifications are incorporated herein by reference.
The IEEE 1394 standard includes IEEE 1394a (400 Mbits/s and IEEE 1394b (800 Mbits/s). IEEE 1394b added a new arbitration scheme. For data to be sent or received optimally, the 1394 devices must determine the order and timing of the transmission of data from each of the devices. In IEEE 1394b the data transmission now is continuous dual simplex; one copper-wire pair or photonic cable strand is continuously transmitting data in each direction (one for data, one for next bus access negotiation) thus resulting in a much simpler and more efficient data transmission process than IEEE 1394a.
The dual simplex nature of the IEEE 1394b bus architecture allows for the implementation of the highly efficient bus arbitration scheme, known as BOSS (Bus Owner Supervisor Selector) which implements simultaneous, pipelined arbitration so that the arbitration protocol runs in parallel with data transmissions. The IEEE 1394a (legacy version) is different in the sense that it alternates between data transmission and arbitration. The arbitration is dependant on the use of short or long time gaps of specified lengths to signal bus availability for various packet types in 1394a. As a result of this dependency there is a delay before a device wins an arbitration and is allowed to start sending its data. But, with the BOSS scheme, the currently transmitting node (device termed as the “Boss”) decides which node gets to transmit next at the end of its transmission. When the Boss is finished transmitting, it knows where to send the grant. This immediate decision process saves the arbitration time, thus removing the need for arbitration time gaps.
IEEE 1394 supports three transfer modes: asynchronous, asynchronous stream and isochronous transfer. In the asynchronous transfer mode, data is guaranteed to be delivered without error to the receiver, where in case there are some disturbances in the bus, the data is sent again. The receiving node hardware will send an acknowledgement as to whether or not that the packet was received correctly. Thus, asynchronous transactions are deemed “guaranteed delivery”, though no latency limit, or bandwidth, is guaranteed. Asynchronous messages are transmitted after completing all competing isochronous message traffic based on arbitration until the end of each repeating 125 uSec cycle.
Isochronous message packets are transmitted in a broadcast fashion and do not require or accommodate acknowledgements from individual recipients. They are thus not considered to provide guaranteed knowledge of delivery. Because of their priority over asynchronous messages, they provide instead a guaranteed bandwidth.
The last message type, called “asynchronous streaming”, is similar to isochronous packets in that it does not require or accommodate receipt messages from individual recipients but that it may also be transmitted in any portion of the repeating 125 uSec cycles. It therefore provides guaranteed bandwidth, but not guaranteed delivery, to individual recipients. While asynchronous streaming packets provide guaranteed bandwidth once the sending device has access to the bus, there is no guarantee that a device with asynchronous streaming packets will be able to access the bus in a predetermined time.
The SAE standard AS5643 (MIL-1394) also defines a serial bus interface that offers high-speed communications. MIL-1394 is a military version of IEEE 1394. MIL-1394 provides for using time division multiple access (TDMA) to form a shared bus network. A MIL-1394 TDMA network is controlled at the application layer (i.e., the assignment of time slots to each end system is controlled by a software application at one or more nodes). However, MIL-1394 does not take advantage of the BOSS (described later) function in IEEE 1394b. Furthermore, MIL-1394 requires a more complicated management of time slots to provide latency control. AFDX, with BAG groups, is easier to schedule and use. The SAE standard AS5643 (MIL-1394) is herein incorporated by reference.
Accordingly, there is a need for a switchless deterministic shared bus network that minimizes weight and power while providing deterministic data transport.